home *** CD-ROM | disk | FTP | other *** search
- THEORY OF OPERATION:
-
- NetworkManager attempts to keep an active network connection available at all
- times. The point of NetworkManager is to make networking configuration and
- setup as painless and automatic as possible. If using DHCP, NetworkManager is
- _intended_ to replace default routes, obtain IP addresses from a DHCP server,
- and change nameservers whenever it sees fit. In effect, the goal of
- NetworkManager is to make networking Just Work. If you have special needs,
- we'd like to hear about them, but understand that NetworkManager is not
- intended to serve the needs of all users.
-
-
- From a list of all adapters currently installed on the system, NetworkManager
- will first try a wired and then a wireless adapter. Wireless adapters that
- support wireless scanning are preferred over ones that cannot. NetworkManager
- does not try to keep a connection up as long as possible, meaning that plugging
- into a wired network will switch the connection to the wired network away from
- the wireless one.
-
- For wireless networking support, NetworkManager keeps a list of wireless
- networks, the preferred list. Preferred Networks are wireless networks that
- the user has explicitly made NetworkManager associate with at some previous
- time. So if the user walks into a Starbucks and explicitly asks NetworkManager
- to associate with that Starbucks network, NetworkManager will remember the
- Starbucks network information from that point on. Upon returning to that
- Starbucks, NetworkManager will attempt to associate _automatically_ with the
- Starbucks network since it is now in the Preferred Networks list. The point of
- this is to ensure that only the user can determine which wireless networks to
- associate with, and that the user is aware which networks are security risks
- and which are not.
-
-
- STRUCTURE:
-
- NetworkManager runs as a root-user system level daemon, since it
- must manipulate hardware directly. It communicates over DBUS with a
- desktop-level per-user process, nm-applet. Since Preferred Networks are
- user-specific, there must be some mechanism of getting this information
- per-user. NetworkManager cannot store that information as it is user-specific,
- and therefore communicates over DBUS to the user daemon which provides those
- lists. NetworkManager also provides an API over DBUS for any DBUS-aware
- application to determine the current state of the network, including available
- wireless networks the computer is aware of and specific details about those
- networks. This API also provides the means for forcing NetworkManager to
- associate with a specific wireless network. Use of DBUS allows separation of
- NetworkManager, which requires no user-interface, and the parts of the user
- interface which might be desktop environment specific.
-
- The nm-applet provides a DBUS service called NetworkManagerInfo, which should
- provide to NetworkManager the Preferred Networks lists upon request. It also
- should be able to display a dialog to retrieve a WEP/WPA key or passphrase from
- the user when NetworkManager requests it. The GNOME version of
- NetworkManagerInfo, for example, stores Preferred Networks in GConf and
- WEP/WPA keys in gnome-keyring, and proxies that information to NetworkManager
- upon request.
-